// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package cn.com.smartdevices.bracelet.view;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Parcelable;
import android.os.SystemClock;
import android.support.v4.view.KeyEventCompat;
import android.support.v4.view.MotionEventCompat;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.VelocityTrackerCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.view.ViewConfigurationCompat;
import android.support.v4.widget.EdgeEffectCompat;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.FocusFinder;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.SoundEffectConstants;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.Interpolator;
import android.widget.Scroller;
import cn.com.smartdevices.bracelet.Debug;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
// Referenced classes of package cn.com.smartdevices.bracelet.view:
// C, D, F, E,
// H, G
public class VerticalViewPager extends ViewGroup
{
private static final int J = -1;
public static final int SCROLL_STATE_DRAGGING = 1;
public static final int SCROLL_STATE_IDLE = 0;
public static final int SCROLL_STATE_SETTLING = 2;
private static final String a = "VerticalViewPager";
private static final boolean b = false;
private static final boolean c = false;
private static final int d = 1;
private static final int e = 600;
private static final int f = 25;
private static final int g[] = {
0x10100b3
};
private static final Comparator h = new C();
private static final Interpolator i = new D();
private boolean A;
private int B;
private boolean C;
private boolean D;
private int E;
private float F;
private float G;
private float H;
private int I;
private VelocityTracker K;
private int L;
private int M;
private int N;
private boolean O;
private long P;
private EdgeEffectCompat Q;
private EdgeEffectCompat R;
private boolean S;
private boolean T;
private int U;
private OnPageChangeListener V;
private OnPageChangeListener W;
private G Z;
private int aa;
private final ArrayList j;
private PagerAdapter k;
private int l;
private int m;
private Parcelable n;
private ClassLoader o;
private Scroller p;
private H q;
private int r;
private Drawable s;
private int t;
private int u;
private int v;
private int w;
private boolean x;
private boolean y;
private boolean z;
public VerticalViewPager(Context context)
{
super(context);
j = new ArrayList();
m = -1;
n = null;
o = null;
B = 1;
I = -1;
S = true;
aa = 0;
a();
}
public VerticalViewPager(Context context, AttributeSet attributeset)
{
super(context, attributeset);
j = new ArrayList();
m = -1;
n = null;
o = null;
B = 1;
I = -1;
S = true;
aa = 0;
a();
}
private int a(int i1, float f1, int j1, int k1)
{
if (Math.abs(k1) > N && Math.abs(j1) > L)
{
if (j1 > 0)
{
return i1;
} else
{
return i1 + 1;
}
} else
{
return (int)(0.5F + (f1 + (float)i1));
}
}
private void a(int i1)
{
if (aa != i1)
{
aa = i1;
if (V != null)
{
V.onPageScrollStateChanged(i1);
return;
}
}
}
private void a(int i1, int j1, int k1, int l1)
{
int i2 = i1 + k1;
if (j1 > 0)
{
int k2 = getScrollY();
int l2 = j1 + l1;
int i3 = k2 / l2;
int j3 = (int)(((float)(k2 % l2) / (float)l2 + (float)i3) * (float)i2);
scrollTo(getScrollX(), j3);
if (!p.isFinished())
{
int k3 = p.getDuration() - p.timePassed();
p.startScroll(0, j3, i2 * l, 0, k3);
}
} else
{
int j2 = i2 * l;
if (j2 != getScrollY())
{
h();
scrollTo(getScrollX(), j2);
return;
}
}
}
private void a(MotionEvent motionevent)
{
int i1 = MotionEventCompat.getActionIndex(motionevent);
if (MotionEventCompat.getPointerId(motionevent, i1) == I)
{
int j1;
if (i1 == 0)
{
j1 = 1;
} else
{
j1 = 0;
}
G = MotionEventCompat.getY(motionevent, j1);
I = MotionEventCompat.getPointerId(motionevent, j1);
if (K != null)
{
K.clear();
}
}
}
private void a(boolean flag)
{
if (y != flag)
{
y = flag;
}
}
private void b(int i1)
{
int j1 = getHeight() + r;
int k1 = i1 / j1;
int l1 = i1 % j1;
float f1 = (float)l1 / (float)j1;
T = false;
onPageScrolled(k1, f1, l1);
if (!T)
{
throw new IllegalStateException("onPageScrolled did not call superclass implementation");
} else
{
return;
}
}
static int[] f()
{
return g;
}
private void g()
{
for (int i1 = 0; i1 < getChildCount(); i1++)
{
if (!((LayoutParams)getChildAt(i1).getLayoutParams()).isDecor)
{
removeViewAt(i1);
i1--;
}
}
}
private void h()
{
boolean flag = A;
if (flag)
{
a(false);
p.abortAnimation();
int j1 = getScrollX();
int k1 = getScrollY();
int l1 = p.getCurrX();
int i2 = p.getCurrY();
if (j1 != l1 || k1 != i2)
{
scrollTo(l1, i2);
}
a(0);
}
z = false;
A = false;
int i1 = 0;
boolean flag1 = flag;
for (; i1 < j.size(); i1++)
{
F f1 = (F)j.get(i1);
if (f1.c)
{
flag1 = true;
f1.c = false;
}
}
if (flag1)
{
c();
}
}
private void i()
{
C = false;
D = false;
if (K != null)
{
K.recycle();
K = null;
}
}
float a(float f1)
{
return (float)Math.sin((float)(0.4712389167638204D * (double)(f1 - 0.5F)));
}
F a(View view)
{
for (int i1 = 0; i1 < j.size(); i1++)
{
F f1 = (F)j.get(i1);
if (k.isViewFromObject(view, f1.a))
{
return f1;
}
}
return null;
}
OnPageChangeListener a(OnPageChangeListener onpagechangelistener)
{
OnPageChangeListener onpagechangelistener1 = W;
W = onpagechangelistener;
return onpagechangelistener1;
}
void a()
{
setWillNotDraw(false);
setDescendantFocusability(0x40000);
setFocusable(true);
Context context = getContext();
p = new Scroller(context, i);
ViewConfiguration viewconfiguration = ViewConfiguration.get(context);
E = ViewConfigurationCompat.getScaledPagingTouchSlop(viewconfiguration);
L = viewconfiguration.getScaledMinimumFlingVelocity();
M = viewconfiguration.getScaledMaximumFlingVelocity();
Q = new EdgeEffectCompat(context);
R = new EdgeEffectCompat(context);
N = (int)(25F * context.getResources().getDisplayMetrics().density);
}
void a(int i1, int j1)
{
a(i1, j1, 0);
}
void a(int i1, int j1, int k1)
{
if (getChildCount() == 0)
{
a(false);
return;
}
int l1 = getScrollX();
int i2 = getScrollY();
int j2 = i1 - l1;
int k2 = j1 - i2;
if (j2 == 0 && k2 == 0)
{
h();
a(0);
return;
}
a(true);
A = true;
a(2);
int l2 = getHeight();
int i3 = l2 / 2;
float f1 = Math.min(1.0F, (1.0F * (float)Math.abs(k2)) / (float)l2);
float f2 = (float)i3 + (float)i3 * a(f1);
int j3 = Math.abs(k1);
int k3;
int l3;
if (j3 > 0)
{
k3 = 4 * Math.round(1000F * Math.abs(f2 / (float)j3));
} else
{
k3 = (int)(100F * (1.0F + (float)Math.abs(k2) / (float)(l2 + r)));
}
l3 = Math.min(k3, 600);
p.startScroll(l1, i2, j2, k2, l3);
invalidate();
}
void a(int i1, boolean flag, boolean flag1)
{
a(i1, flag, flag1, 0);
}
void a(int i1, boolean flag, boolean flag1, int j1)
{
if (k != null && k.getCount() > 0) goto _L2; else goto _L1
_L1:
a(false);
_L8:
return;
_L2:
if (!flag1 && l == i1 && j.size() != 0)
{
a(false);
return;
}
if (i1 >= 0) goto _L4; else goto _L3
_L3:
i1 = 0;
_L6:
int k1 = B;
if (i1 > k1 + l || i1 < l - k1)
{
for (int l1 = 0; l1 < j.size(); l1++)
{
((F)j.get(l1)).c = true;
}
}
break; /* Loop/switch isn't completed */
_L4:
if (i1 >= k.getCount())
{
i1 = -1 + k.getCount();
}
if (true) goto _L6; else goto _L5
_L5:
boolean flag2;
int i2;
if (l != i1)
{
flag2 = true;
} else
{
flag2 = false;
}
l = i1;
c();
i2 = i1 * (getHeight() + r);
if (flag)
{
a(0, i2, j1);
if (flag2 && V != null)
{
V.onPageSelected(i1);
}
if (flag2 && W != null)
{
W.onPageSelected(i1);
return;
}
} else
{
if (flag2 && V != null)
{
V.onPageSelected(i1);
}
if (flag2 && W != null)
{
W.onPageSelected(i1);
}
h();
scrollTo(0, i2);
return;
}
if (true) goto _L8; else goto _L7
_L7:
}
void a(G g1)
{
Z = g1;
}
public void addFocusables(ArrayList arraylist, int i1, int j1)
{
int k1 = arraylist.size();
int l1 = getDescendantFocusability();
if (l1 != 0x60000)
{
for (int i2 = 0; i2 < getChildCount(); i2++)
{
View view = getChildAt(i2);
if (view.getVisibility() == 0)
{
F f1 = a(view);
if (f1 != null && f1.b == l)
{
view.addFocusables(arraylist, i1, j1);
}
}
}
}
while (l1 == 0x40000 && k1 != arraylist.size() || !isFocusable() || (j1 & 1) == 1 && isInTouchMode() && !isFocusableInTouchMode() || arraylist == null)
{
return;
}
arraylist.add(this);
}
public void addTouchables(ArrayList arraylist)
{
for (int i1 = 0; i1 < getChildCount(); i1++)
{
View view = getChildAt(i1);
if (view.getVisibility() != 0)
{
continue;
}
F f1 = a(view);
if (f1 != null && f1.b == l)
{
view.addTouchables(arraylist);
}
}
}
public void addView(View view, int i1, android.view.ViewGroup.LayoutParams layoutparams)
{
android.view.ViewGroup.LayoutParams layoutparams1;
LayoutParams layoutparams2;
if (!checkLayoutParams(layoutparams))
{
layoutparams1 = generateLayoutParams(layoutparams);
} else
{
layoutparams1 = layoutparams;
}
layoutparams2 = (LayoutParams)layoutparams1;
layoutparams2.isDecor = layoutparams2.isDecor | (view instanceof E);
if (x)
{
if (layoutparams2 != null && layoutparams2.isDecor)
{
throw new IllegalStateException("Cannot add pager decor view during layout");
} else
{
addViewInLayout(view, i1, layoutparams1);
view.measure(v, w);
return;
}
} else
{
super.addView(view, i1, layoutparams1);
return;
}
}
public boolean arrowScroll(int i1)
{
View view;
View view1;
view = findFocus();
if (view == this)
{
view = null;
}
view1 = FocusFinder.getInstance().findNextFocus(this, view, i1);
if (view1 == null || view1 == view) goto _L2; else goto _L1
_L1:
if (i1 != 33) goto _L4; else goto _L3
_L3:
boolean flag;
if (view != null && view1.getTop() >= view.getTop())
{
flag = d();
} else
{
flag = view1.requestFocus();
}
_L7:
if (flag)
{
playSoundEffect(SoundEffectConstants.getContantForFocusDirection(i1));
}
return flag;
_L4:
if (i1 == 130)
{
if (view != null && view1.getTop() <= view.getTop())
{
flag = e();
} else
{
flag = view1.requestFocus();
}
continue; /* Loop/switch isn't completed */
}
goto _L5
_L2:
if (i1 == 33 || i1 == 1)
{
flag = d();
continue; /* Loop/switch isn't completed */
}
if (i1 == 130 || i1 == 2)
{
flag = e();
continue; /* Loop/switch isn't completed */
}
_L5:
flag = false;
if (true) goto _L7; else goto _L6
_L6:
}
F b(View view)
{
do
{
android.view.ViewParent viewparent = view.getParent();
if (viewparent != this)
{
if (viewparent == null || !(viewparent instanceof View))
{
return null;
}
view = (View)viewparent;
} else
{
return a(view);
}
} while (true);
}
void b()
{
boolean flag = true;
boolean flag1;
int i1;
boolean flag2;
int j1;
boolean flag3;
if (j.size() < 3 && j.size() < k.getCount())
{
flag1 = flag;
} else
{
flag1 = false;
}
i1 = 0;
flag2 = false;
j1 = -1;
flag3 = flag1;
while (i1 < j.size())
{
F f1 = (F)j.get(i1);
int k1 = k.getItemPosition(f1.a);
int l1;
boolean flag4;
int i2;
boolean flag5;
int j2;
if (k1 == -1)
{
l1 = i1;
flag4 = flag2;
i2 = j1;
flag5 = flag3;
} else
if (k1 == -2)
{
j.remove(i1);
int k2 = i1 - 1;
if (!flag2)
{
k.startUpdate(this);
flag2 = flag;
}
k.destroyItem(this, f1.b, f1.a);
if (l == f1.b)
{
int l2 = Math.max(0, Math.min(l, -1 + k.getCount()));
l1 = k2;
flag4 = flag2;
i2 = l2;
flag5 = flag;
} else
{
l1 = k2;
flag4 = flag2;
i2 = j1;
flag5 = flag;
}
} else
if (f1.b != k1)
{
if (f1.b == l)
{
j1 = k1;
}
f1.b = k1;
l1 = i1;
flag4 = flag2;
i2 = j1;
flag5 = flag;
} else
{
l1 = i1;
flag4 = flag2;
i2 = j1;
flag5 = flag3;
}
j2 = l1 + 1;
flag3 = flag5;
j1 = i2;
flag2 = flag4;
i1 = j2;
}
if (flag2)
{
k.finishUpdate(this);
}
Collections.sort(j, h);
if (j1 >= 0)
{
a(j1, false, flag);
} else
{
flag = flag3;
}
if (flag)
{
c();
requestLayout();
}
}
void b(int i1, int j1)
{
F f1 = new F();
f1.b = i1;
f1.a = k.instantiateItem(this, i1);
if (j1 < 0)
{
j.add(f1);
return;
} else
{
j.add(j1, f1);
return;
}
}
public boolean beginFakeDrag()
{
if (C)
{
return false;
}
O = true;
a(1);
G = 0.0F;
H = 0.0F;
long l1;
MotionEvent motionevent;
if (K == null)
{
K = VelocityTracker.obtain();
} else
{
K.clear();
}
l1 = SystemClock.uptimeMillis();
motionevent = MotionEvent.obtain(l1, l1, 0, 0.0F, 0.0F, 0);
K.addMovement(motionevent);
motionevent.recycle();
P = l1;
return true;
}
void c()
{
_L2:
return;
if (k == null || z || getWindowToken() == null) goto _L2; else goto _L1
_L1:
int j1;
int k1;
int l1;
int i2;
k.startUpdate(this);
int i1 = B;
j1 = Math.max(0, l - i1);
k1 = Math.min(-1 + k.getCount(), i1 + l);
l1 = 0;
i2 = -1;
_L7:
if (l1 >= j.size()) goto _L4; else goto _L3
_L3:
F f4 = (F)j.get(l1);
if (f4.b >= j1 && f4.b <= k1 || f4.c) goto _L6; else goto _L5
_L5:
int i4;
j.remove(l1);
int i5 = l1 - 1;
k.destroyItem(this, f4.b, f4.a);
i4 = i5;
_L16:
int j4 = f4.b;
int k4 = i4 + 1;
i2 = j4;
l1 = k4;
goto _L7
_L6:
if (i2 < k1 && f4.b > j1)
{
int l4 = i2 + 1;
if (l4 < j1)
{
l4 = j1;
}
while (l4 <= k1 && l4 < f4.b)
{
b(l4, l1);
l4++;
l1++;
}
}
break MISSING_BLOCK_LABEL_559;
_L4:
int k2;
int j2;
if (j.size() > 0)
{
j2 = ((F)j.get(-1 + j.size())).b;
} else
{
j2 = -1;
}
if (j2 < k1)
{
int l3 = j2 + 1;
if (l3 <= j1)
{
l3 = j1;
}
for (; l3 <= k1; l3++)
{
b(l3, -1);
}
}
k2 = 0;
_L14:
if (k2 >= j.size())
{
break MISSING_BLOCK_LABEL_553;
}
if (((F)j.get(k2)).b != l) goto _L9; else goto _L8
_L8:
F f1 = (F)j.get(k2);
_L15:
PagerAdapter pageradapter = k;
int l2 = l;
Object obj;
View view;
F f2;
int i3;
View view1;
F f3;
int j3;
int k3;
if (f1 != null)
{
obj = f1.a;
} else
{
obj = null;
}
pageradapter.setPrimaryItem(this, l2, obj);
k.finishUpdate(this);
if (!hasFocus()) goto _L2; else goto _L10
_L10:
view = findFocus();
f2 = null;
if (view != null)
{
f2 = b(view);
}
i3 = 0;
if (f2 == null)
{
break; /* Loop/switch isn't completed */
}
j3 = f2.b;
k3 = l;
i3 = 0;
if (j3 == k3) goto _L2; else goto _L11
_L11:
if (i3 >= getChildCount()) goto _L2; else goto _L12
_L12:
view1 = getChildAt(i3);
f3 = a(view1);
if (f3 != null && f3.b == l && view1.requestFocus(2)) goto _L2; else goto _L13
_L13:
i3++;
goto _L11
_L9:
k2++;
goto _L14
f1 = null;
goto _L15
i4 = l1;
goto _L16
}
protected boolean canScroll(View view, boolean flag, int i1, int j1, int k1)
{
if (!(view instanceof ViewGroup)) goto _L2; else goto _L1
_L1:
ViewGroup viewgroup;
int l1;
int i2;
int j2;
viewgroup = (ViewGroup)view;
l1 = view.getScrollX();
i2 = view.getScrollY();
j2 = -1 + viewgroup.getChildCount();
_L8:
if (j2 < 0) goto _L2; else goto _L3
_L3:
View view1 = viewgroup.getChildAt(j2);
if (j1 + l1 < view1.getLeft() || j1 + l1 >= view1.getRight() || k1 + i2 < view1.getTop() || k1 + i2 >= view1.getBottom() || !canScroll(view1, true, i1, (j1 + l1) - view1.getLeft(), (k1 + i2) - view1.getTop())) goto _L5; else goto _L4
_L4:
return true;
_L5:
j2--;
continue; /* Loop/switch isn't completed */
_L2:
if (flag && ViewCompat.canScrollVertically(view, -i1)) goto _L4; else goto _L6
_L6:
return false;
if (true) goto _L8; else goto _L7
_L7:
}
protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams layoutparams)
{
return (layoutparams instanceof LayoutParams) && super.checkLayoutParams(layoutparams);
}
public void computeScroll()
{
if (!p.isFinished() && p.computeScrollOffset())
{
int i1 = getScrollX();
int j1 = getScrollY();
int k1 = p.getCurrX();
int l1 = p.getCurrY();
if (i1 != k1 || j1 != l1)
{
scrollTo(k1, l1);
b(l1);
}
invalidate();
return;
} else
{
h();
return;
}
}
boolean d()
{
if (l > 0)
{
setCurrentItem(-1 + l, true);
return true;
} else
{
return false;
}
}
public boolean dispatchKeyEvent(KeyEvent keyevent)
{
return super.dispatchKeyEvent(keyevent) || executeKeyEvent(keyevent);
}
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent accessibilityevent)
{
int i1 = getChildCount();
int j1 = 0;
do
{
label0:
{
boolean flag = false;
if (j1 < i1)
{
View view = getChildAt(j1);
if (view.getVisibility() != 0)
{
break label0;
}
F f1 = a(view);
if (f1 == null || f1.b != l || !view.dispatchPopulateAccessibilityEvent(accessibilityevent))
{
break label0;
}
flag = true;
}
return flag;
}
j1++;
} while (true);
}
public void draw(Canvas canvas)
{
int i1 = 1;
super.draw(canvas);
int j1 = ViewCompat.getOverScrollMode(this);
boolean flag1;
if (j1 == 0 || j1 == i1 && k != null && k.getCount() > i1)
{
boolean flag = Q.isFinished();
flag1 = false;
if (!flag)
{
int j2 = canvas.save();
int k2 = getWidth() - getPaddingLeft() - getPaddingRight();
canvas.rotate(0.0F);
Q.setSize(k2, getHeight());
flag1 = false | Q.draw(canvas);
canvas.restoreToCount(j2);
}
if (!R.isFinished())
{
int k1 = canvas.save();
int l1 = getWidth() - getPaddingLeft() - getPaddingRight();
int i2 = getHeight();
if (k != null)
{
i1 = k.getCount();
}
canvas.rotate(180F);
canvas.translate(-l1 + getPaddingLeft(), -i1 * (i2 + r) + r);
R.setSize(l1, i2);
flag1 |= R.draw(canvas);
canvas.restoreToCount(k1);
}
} else
{
Q.finish();
R.finish();
flag1 = false;
}
if (flag1)
{
invalidate();
}
}
protected void drawableStateChanged()
{
super.drawableStateChanged();
Drawable drawable = s;
if (drawable != null && drawable.isStateful())
{
drawable.setState(getDrawableState());
}
}
boolean e()
{
if (k != null && l < -1 + k.getCount())
{
setCurrentItem(1 + l, true);
return true;
} else
{
return false;
}
}
public void endFakeDrag()
{
if (!O)
{
throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first.");
} else
{
VelocityTracker velocitytracker = K;
velocitytracker.computeCurrentVelocity(1000, M);
int i1 = (int)VelocityTrackerCompat.getXVelocity(velocitytracker, I);
z = true;
int j1 = (int)(G - H);
int k1 = getScrollY();
int l1 = getHeight() + r;
a(a(k1 / l1, (float)(k1 % l1) / (float)l1, i1, j1), true, true, i1);
i();
O = false;
return;
}
}
public boolean executeKeyEvent(KeyEvent keyevent)
{
if (keyevent.getAction() != 0) goto _L2; else goto _L1
_L1:
keyevent.getKeyCode();
JVM INSTR lookupswitch 3: default 44
// 19: 46
// 20: 53
// 61: 61;
goto _L2 _L3 _L4 _L5
_L2:
return false;
_L3:
return arrowScroll(33);
_L4:
return arrowScroll(130);
_L5:
if (android.os.Build.VERSION.SDK_INT >= 11)
{
if (KeyEventCompat.hasNoModifiers(keyevent))
{
return arrowScroll(2);
}
if (KeyEventCompat.hasModifiers(keyevent, 1))
{
return arrowScroll(1);
}
}
if (true) goto _L2; else goto _L6
_L6:
}
public void fakeDragBy(float f1)
{
if (!O)
{
throw new IllegalStateException("No fake drag in progress. Call beginFakeDrag first.");
}
G = f1 + G;
float f2 = (float)getScrollY() - f1;
int i1 = getHeight() + r;
float f3 = Math.max(0, i1 * (-1 + l));
float f4 = i1 * Math.min(1 + l, -1 + k.getCount());
long l1;
MotionEvent motionevent;
if (f2 >= f3)
{
if (f2 > f4)
{
f3 = f4;
} else
{
f3 = f2;
}
}
G = G + (f3 - (float)(int)f3);
scrollTo(getScrollX(), (int)f3);
b((int)f3);
l1 = SystemClock.uptimeMillis();
motionevent = MotionEvent.obtain(P, l1, 2, 0.0F, G, 0);
K.addMovement(motionevent);
motionevent.recycle();
}
protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams()
{
return new LayoutParams();
}
public android.view.ViewGroup.LayoutParams generateLayoutParams(AttributeSet attributeset)
{
return new LayoutParams(getContext(), attributeset);
}
protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams layoutparams)
{
return generateDefaultLayoutParams();
}
public PagerAdapter getAdapter()
{
return k;
}
public int getCurrentItem()
{
return l;
}
public int getOffscreenPageLimit()
{
return B;
}
public int getPageMargin()
{
return r;
}
public boolean isFakeDragging()
{
return O;
}
protected void onAttachedToWindow()
{
super.onAttachedToWindow();
S = true;
}
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
if (r > 0 && s != null)
{
int i1 = getScrollY();
int j1 = getHeight();
int k1 = i1 % (j1 + r);
if (k1 != 0)
{
int l1 = j1 + (i1 - k1);
s.setBounds(t, l1, u, l1 + r);
s.draw(canvas);
}
}
}
public boolean onInterceptTouchEvent(MotionEvent motionevent)
{
int i1 = 0xff & motionevent.getAction();
if (i1 != 3 && i1 != 1) goto _L2; else goto _L1
_L1:
C = false;
D = false;
I = -1;
if (K != null)
{
K.recycle();
K = null;
}
_L4:
return false;
_L2:
if (i1 == 0)
{
break; /* Loop/switch isn't completed */
}
if (C)
{
return true;
}
if (D) goto _L4; else goto _L3
_L3:
i1;
JVM INSTR lookupswitch 3: default 112
// 0: 310
// 2: 146
// 6: 385;
goto _L5 _L6 _L7 _L8
_L5:
if (!C)
{
if (K == null)
{
K = VelocityTracker.obtain();
}
K.addMovement(motionevent);
}
return C;
_L7:
int j1 = I;
if (j1 != -1)
{
int k1 = MotionEventCompat.findPointerIndex(motionevent, j1);
float f2 = MotionEventCompat.getX(motionevent, k1);
float f3 = Math.abs(f2 - F);
float f4 = MotionEventCompat.getY(motionevent, k1);
float f5 = f4 - G;
float f6 = Math.abs(f5);
if (canScroll(this, false, (int)f5, (int)f2, (int)f4))
{
G = f4;
H = f4;
F = f2;
return false;
}
if (f6 > (float)E && f6 > f3)
{
C = true;
a(1);
G = f4;
a(true);
} else
if (f3 > (float)E)
{
D = true;
}
}
continue; /* Loop/switch isn't completed */
_L6:
F = motionevent.getX();
float f1 = motionevent.getY();
H = f1;
G = f1;
I = MotionEventCompat.getPointerId(motionevent, 0);
if (aa == 2)
{
C = true;
D = false;
a(1);
} else
{
h();
C = false;
D = false;
}
continue; /* Loop/switch isn't completed */
_L8:
a(motionevent);
if (true) goto _L5; else goto _L9
_L9:
}
protected void onLayout(boolean flag, int i1, int j1, int k1, int l1)
{
int i2;
int j2;
int k2;
int l2;
int i3;
int j3;
int k3;
int l3;
int i4;
int j4;
x = true;
c();
x = false;
i2 = getChildCount();
j2 = k1 - i1;
k2 = l1 - j1;
l2 = getPaddingLeft();
i3 = getPaddingTop();
j3 = getPaddingRight();
k3 = getPaddingBottom();
l3 = getScrollY();
i4 = 0;
j4 = 0;
_L19:
if (j4 >= i2) goto _L2; else goto _L1
_L1:
View view = getChildAt(j4);
if (view.getVisibility() == 8) goto _L4; else goto _L3
_L3:
LayoutParams layoutparams = (LayoutParams)view.getLayoutParams();
if (!layoutparams.isDecor) goto _L6; else goto _L5
_L5:
int l5;
int i6;
l5 = 7 & layoutparams.gravity;
i6 = 0x70 & layoutparams.gravity;
l5;
JVM INSTR tableswitch 1 5: default 168
// 1 321
// 2 168
// 3 300
// 4 168
// 5 341;
goto _L7 _L8 _L7 _L9 _L7 _L10
_L7:
int k6 = l2;
_L15:
i6;
JVM INSTR lookupswitch 3: default 208
// 16: 400
// 48: 371
// 80: 432;
goto _L11 _L12 _L13 _L14
_L11:
int l6;
int j7;
int k7;
l6 = i3;
int l8 = k3;
j7 = i3;
k7 = l8;
_L16:
int k4;
int l4;
int i5;
int j5;
int l7 = l6 + l3;
k4 = i4 + 1;
view.layout(k6, l7, k6 + view.getMeasuredWidth(), l7 + view.getMeasuredHeight());
l4 = j7;
k3 = k7;
i5 = j3;
j5 = l2;
_L17:
j4++;
l2 = j5;
j3 = i5;
i3 = l4;
i4 = k4;
continue; /* Loop/switch isn't completed */
_L9:
int i9 = l2 + view.getMeasuredWidth();
k6 = l2;
l2 = i9;
goto _L15
_L8:
k6 = Math.max((j2 - view.getMeasuredWidth()) / 2, l2);
goto _L15
_L10:
int j6 = j2 - j3 - view.getMeasuredWidth();
j3 += view.getMeasuredWidth();
k6 = j6;
goto _L15
_L13:
int j8 = i3 + view.getMeasuredHeight();
int k8 = i3;
k7 = k3;
j7 = j8;
l6 = k8;
goto _L16
_L12:
l6 = Math.max((k2 - view.getMeasuredHeight()) / 2, i3);
int i8 = k3;
j7 = i3;
k7 = i8;
goto _L16
_L14:
l6 = k2 - k3 - view.getMeasuredHeight();
int i7 = k3 + view.getMeasuredHeight();
j7 = i3;
k7 = i7;
goto _L16
_L6:
F f1 = a(view);
if (f1 != null)
{
int k5 = i3 + (k2 + r) * f1.b;
view.layout(l2, k5, l2 + view.getMeasuredWidth(), k5 + view.getMeasuredHeight());
}
_L4:
k4 = i4;
l4 = i3;
i5 = j3;
j5 = l2;
goto _L17
_L2:
t = l2;
u = j2 - j3;
U = i4;
S = false;
return;
if (true) goto _L19; else goto _L18
_L18:
}
protected void onMeasure(int i1, int j1)
{
int k1;
int l1;
int i2;
int j2;
setMeasuredDimension(getDefaultSize(0, i1), getDefaultSize(0, j1));
k1 = getMeasuredWidth() - getPaddingLeft() - getPaddingRight();
l1 = getMeasuredHeight() - getPaddingTop() - getPaddingBottom();
i2 = getChildCount();
j2 = 0;
_L2:
int i3;
int j3;
if (j2 >= i2)
{
break; /* Loop/switch isn't completed */
}
View view1 = getChildAt(j2);
if (view1.getVisibility() == 8)
{
break MISSING_BLOCK_LABEL_434;
}
LayoutParams layoutparams1 = (LayoutParams)view1.getLayoutParams();
if (layoutparams1 == null || !layoutparams1.isDecor)
{
break MISSING_BLOCK_LABEL_434;
}
int k3 = 7 & layoutparams1.gravity;
int l3 = 0x70 & layoutparams1.gravity;
Debug.i("VerticalViewPager", (new StringBuilder()).append("gravity: ").append(layoutparams1.gravity).append(" hgrav: ").append(k3).append(" vgrav: ").append(l3).toString());
int i4 = 0x80000000;
int j4 = 0x80000000;
boolean flag;
boolean flag1;
if (l3 == 48 || l3 == 80)
{
flag = true;
} else
{
flag = false;
}
if (k3 == 3 || k3 == 5)
{
flag1 = true;
} else
{
flag1 = false;
}
if (flag)
{
i4 = 0x40000000;
} else
if (flag1)
{
j4 = 0x40000000;
}
view1.measure(android.view.View.MeasureSpec.makeMeasureSpec(k1, i4), android.view.View.MeasureSpec.makeMeasureSpec(l1, j4));
if (flag)
{
i3 = l1 - view1.getMeasuredHeight();
j3 = k1;
} else
{
if (!flag1)
{
break MISSING_BLOCK_LABEL_434;
}
j3 = k1 - view1.getMeasuredWidth();
i3 = l1;
}
_L3:
j2++;
k1 = j3;
l1 = i3;
if (true) goto _L2; else goto _L1
_L1:
v = android.view.View.MeasureSpec.makeMeasureSpec(k1, 0x40000000);
w = android.view.View.MeasureSpec.makeMeasureSpec(l1, 0x40000000);
x = true;
c();
x = false;
int k2 = getChildCount();
for (int l2 = 0; l2 < k2; l2++)
{
View view = getChildAt(l2);
if (view.getVisibility() == 8)
{
continue;
}
LayoutParams layoutparams = (LayoutParams)view.getLayoutParams();
if (layoutparams == null || !layoutparams.isDecor)
{
view.measure(v, w);
}
}
return;
i3 = l1;
j3 = k1;
goto _L3
}
protected void onPageScrolled(int i1, float f1, int j1)
{
int k1;
int l1;
int i2;
int j2;
int k2;
int l2;
if (U <= 0)
{
break MISSING_BLOCK_LABEL_283;
}
k1 = getScrollY();
l1 = getPaddingTop();
i2 = getPaddingBottom();
j2 = getHeight();
k2 = getChildCount();
l2 = 0;
_L2:
View view;
LayoutParams layoutparams;
int k3;
int l3;
if (l2 >= k2)
{
break MISSING_BLOCK_LABEL_283;
}
view = getChildAt(l2);
layoutparams = (LayoutParams)view.getLayoutParams();
if (layoutparams.isDecor)
{
break; /* Loop/switch isn't completed */
}
int k5 = i2;
k3 = l1;
l3 = k5;
_L7:
l2++;
int j4 = l3;
l1 = k3;
i2 = j4;
if (true) goto _L2; else goto _L1
_L1:
0x70 & layoutparams.gravity;
JVM INSTR lookupswitch 3: default 144
// 1: 217
// 48: 188
// 80: 249;
goto _L3 _L4 _L5 _L6
_L6:
break MISSING_BLOCK_LABEL_249;
_L3:
int i3;
i3 = l1;
int j5 = i2;
k3 = l1;
l3 = j5;
_L8:
int i4 = (i3 + k1) - view.getTop();
if (i4 != 0)
{
view.offsetTopAndBottom(i4);
}
goto _L7
_L5:
int l4 = l1 + view.getHeight();
int i5 = l1;
l3 = i2;
k3 = l4;
i3 = i5;
goto _L8
_L4:
i3 = Math.max((j2 - view.getMeasuredHeight()) / 2, l1);
int k4 = i2;
k3 = l1;
l3 = k4;
goto _L8
i3 = j2 - i2 - view.getMeasuredHeight();
int j3 = i2 + view.getMeasuredHeight();
k3 = l1;
l3 = j3;
goto _L8
if (V != null)
{
V.onPageScrolled(i1, f1, j1);
}
if (W != null)
{
W.onPageScrolled(i1, f1, j1);
}
T = true;
return;
goto _L7
}
protected boolean onRequestFocusInDescendants(int i1, Rect rect)
{
byte byte0 = -1;
int j1 = getChildCount();
int k1;
if ((i1 & 2) != 0)
{
byte0 = 1;
k1 = 0;
} else
{
k1 = j1 - 1;
j1 = byte0;
}
for (; k1 != j1; k1 += byte0)
{
View view = getChildAt(k1);
if (view.getVisibility() != 0)
{
continue;
}
F f1 = a(view);
if (f1 != null && f1.b == l && view.requestFocus(i1, rect))
{
return true;
}
}
return false;
}
public void onRestoreInstanceState(Parcelable parcelable)
{
if (!(parcelable instanceof SavedState))
{
super.onRestoreInstanceState(parcelable);
return;
}
SavedState savedstate = (SavedState)parcelable;
super.onRestoreInstanceState(savedstate.getSuperState());
if (k != null)
{
k.restoreState(savedstate.b, savedstate.c);
a(savedstate.a, false, true);
return;
} else
{
m = savedstate.a;
n = savedstate.b;
o = savedstate.c;
return;
}
}
public Parcelable onSaveInstanceState()
{
SavedState savedstate = new SavedState(super.onSaveInstanceState());
savedstate.a = l;
if (k != null)
{
savedstate.b = k.saveState();
}
return savedstate;
}
protected void onSizeChanged(int i1, int j1, int k1, int l1)
{
super.onSizeChanged(i1, j1, k1, l1);
if (j1 != l1)
{
a(j1, l1, r, r);
}
}
public boolean onTouchEvent(MotionEvent motionevent)
{
if (!O) goto _L2; else goto _L1
_L1:
boolean flag = true;
_L4:
return flag;
_L2:
int i4;
if (motionevent.getAction() != 0)
{
break; /* Loop/switch isn't completed */
}
i4 = motionevent.getEdgeFlags();
flag = false;
if (i4 != 0) goto _L4; else goto _L3
_L3:
PagerAdapter pageradapter;
pageradapter = k;
flag = false;
if (pageradapter == null) goto _L4; else goto _L5
_L5:
int i1;
i1 = k.getCount();
flag = false;
if (i1 == 0) goto _L4; else goto _L6
_L6:
int j1;
boolean flag1;
if (K == null)
{
K = VelocityTracker.obtain();
}
K.addMovement(motionevent);
j1 = 0xff & motionevent.getAction();
flag1 = false;
j1;
JVM INSTR tableswitch 0 6: default 136
// 0 147
// 1 540
// 2 184
// 3 683
// 4 136
// 5 736
// 6 768;
goto _L7 _L8 _L9 _L10 _L11 _L7 _L12 _L13
_L7:
if (flag1)
{
invalidate();
}
return true;
_L8:
h();
float f12 = motionevent.getY();
H = f12;
G = f12;
I = MotionEventCompat.getPointerId(motionevent, 0);
flag1 = false;
continue; /* Loop/switch isn't completed */
_L10:
if (!C)
{
int l3 = MotionEventCompat.findPointerIndex(motionevent, I);
float f9 = Math.abs(MotionEventCompat.getX(motionevent, l3) - F);
float f10 = MotionEventCompat.getY(motionevent, l3);
float f11 = Math.abs(f10 - G);
if (f11 > (float)E && f11 > f9)
{
C = true;
G = f10;
a(1);
a(true);
}
}
boolean flag4 = C;
flag1 = false;
if (flag4)
{
float f1 = MotionEventCompat.getY(motionevent, MotionEventCompat.findPointerIndex(motionevent, I));
float f2 = G - f1;
G = f1;
float f3 = f2 + (float)getScrollY();
int k2 = getHeight();
int l2 = k2 + r;
int i3 = -1 + k.getCount();
float f4 = Math.max(0, l2 * (-1 + l));
float f5 = l2 * Math.min(1 + l, i3);
int k1;
boolean flag2;
boolean flag3;
VelocityTracker velocitytracker;
int l1;
int i2;
int j2;
float f6;
boolean flag5;
if (f3 < f4)
{
int k3 = f4 != 0.0F;
boolean flag7 = false;
if (k3 == 0)
{
float f8 = -f3;
flag7 = Q.onPull(f8 / (float)k2);
}
flag5 = flag7;
f6 = f4;
} else
if (f3 > f5)
{
int j3 = f5 != (float)(i3 * l2);
boolean flag6 = false;
if (j3 == 0)
{
float f7 = f3 - f5;
flag6 = R.onPull(f7 / (float)k2);
}
flag5 = flag6;
f6 = f5;
} else
{
f6 = f3;
flag5 = false;
}
G = G + (f6 - (float)(int)f6);
scrollTo(getScrollX(), (int)f6);
b((int)f6);
flag1 = flag5;
}
continue; /* Loop/switch isn't completed */
_L9:
flag3 = C;
flag1 = false;
if (flag3)
{
velocitytracker = K;
velocitytracker.computeCurrentVelocity(1000, M);
l1 = (int)VelocityTrackerCompat.getYVelocity(velocitytracker, I);
z = true;
i2 = getHeight() + r;
j2 = getScrollY();
a(a(j2 / i2, (float)(j2 % i2) / (float)i2, l1, (int)(MotionEventCompat.getY(motionevent, MotionEventCompat.findPointerIndex(motionevent, I)) - H)), true, true, l1);
I = -1;
i();
flag1 = Q.onRelease() | R.onRelease();
}
continue; /* Loop/switch isn't completed */
_L11:
flag2 = C;
flag1 = false;
if (flag2)
{
a(l, true, true);
I = -1;
i();
flag1 = Q.onRelease() | R.onRelease();
}
continue; /* Loop/switch isn't completed */
_L12:
k1 = MotionEventCompat.getActionIndex(motionevent);
G = MotionEventCompat.getY(motionevent, k1);
I = MotionEventCompat.getPointerId(motionevent, k1);
flag1 = false;
continue; /* Loop/switch isn't completed */
_L13:
a(motionevent);
G = MotionEventCompat.getY(motionevent, MotionEventCompat.findPointerIndex(motionevent, I));
flag1 = false;
if (true) goto _L7; else goto _L14
_L14:
}
public void setAdapter(PagerAdapter pageradapter)
{
if (k != null)
{
k.unregisterDataSetObserver(q);
k.startUpdate(this);
for (int i1 = 0; i1 < j.size(); i1++)
{
F f1 = (F)j.get(i1);
k.destroyItem(this, f1.b, f1.a);
}
k.finishUpdate(this);
j.clear();
g();
l = 0;
scrollTo(0, 0);
}
PagerAdapter pageradapter1 = k;
k = pageradapter;
if (k != null)
{
if (q == null)
{
q = new H(this, null);
}
k.registerDataSetObserver(q);
z = false;
if (m >= 0)
{
k.restoreState(n, o);
a(m, false, true);
m = -1;
n = null;
o = null;
} else
{
c();
}
}
if (Z != null && pageradapter1 != pageradapter)
{
Z.a(pageradapter1, pageradapter);
}
}
public void setCurrentItem(int i1)
{
z = false;
boolean flag;
if (!S)
{
flag = true;
} else
{
flag = false;
}
a(i1, flag, false);
}
public void setCurrentItem(int i1, boolean flag)
{
z = false;
a(i1, flag, false);
}
public void setOffscreenPageLimit(int i1)
{
if (i1 < 1)
{
Debug.w("VerticalViewPager", (new StringBuilder()).append("Requested offscreen page limit ").append(i1).append(" too small; defaulting to ").append(1).toString());
i1 = 1;
}
if (i1 != B)
{
B = i1;
c();
}
}
public void setOnPageChangeListener(OnPageChangeListener onpagechangelistener)
{
V = onpagechangelistener;
}
public void setPageMargin(int i1)
{
int j1 = r;
r = i1;
int k1 = getHeight();
a(k1, k1, i1, j1);
requestLayout();
}
public void setPageMarginDrawable(int i1)
{
setPageMarginDrawable(getContext().getResources().getDrawable(i1));
}
public void setPageMarginDrawable(Drawable drawable)
{
s = drawable;
if (drawable != null)
{
refreshDrawableState();
}
boolean flag;
if (drawable == null)
{
flag = true;
} else
{
flag = false;
}
setWillNotDraw(flag);
invalidate();
}
protected boolean verifyDrawable(Drawable drawable)
{
return super.verifyDrawable(drawable) || drawable == s;
}
private class OnPageChangeListener
{
public abstract void onPageScrollStateChanged(int i1);
public abstract void onPageScrolled(int i1, float f1, int j1);
public abstract void onPageSelected(int i1);
}
private class LayoutParams extends android.view.ViewGroup.LayoutParams
{
public int gravity;
public boolean isDecor;
public LayoutParams()
{
super(-1, -1);
}
public LayoutParams(Context context, AttributeSet attributeset)
{
super(context, attributeset);
TypedArray typedarray = context.obtainStyledAttributes(attributeset, VerticalViewPager.f());
gravity = typedarray.getInteger(0, 0);
typedarray.recycle();
}
}
private class SavedState extends android.view.View.BaseSavedState
{
public static final android.os.Parcelable.Creator CREATOR = ParcelableCompat.newCreator(new I());
int a;
Parcelable b;
ClassLoader c;
public String toString()
{
return (new StringBuilder()).append("FragmentPager.SavedState{").append(Integer.toHexString(System.identityHashCode(this))).append(" position=").append(a).append("}").toString();
}
public void writeToParcel(Parcel parcel, int i1)
{
super.writeToParcel(parcel, i1);
parcel.writeInt(a);
parcel.writeParcelable(b, i1);
}
SavedState(Parcel parcel, ClassLoader classloader)
{
super(parcel);
if (classloader == null)
{
classloader = getClass().getClassLoader();
}
a = parcel.readInt();
b = parcel.readParcelable(classloader);
c = classloader;
}
public SavedState(Parcelable parcelable)
{
super(parcelable);
}
}
}